'use strict';

const path = require('path');

module.exports = appInfo => {
	const config = exports = {
	  	mysql : {
		  	clients: {

			  	// weshop : {
				  //   host: 'rdsk4ok603k5mc0k629r.mysql.rds.aliyuncs.com',
				  //   port: '3306',
				  //   user: 'royzhang012',
				  //   password: 'royzhang012',
				  //   database: 'uat_weshop',
			  	// },
			  	// sys : {
			  	// 	// host
				  //   host: 'rdsk4ok603k5mc0k629r.mysql.rds.aliyuncs.com',
				  //   // 端口号
				  //   port: '3306',
				  //   // 用户名
				  //   user: 'royzhang012',
				  //   // 密码
				  //   password: 'royzhang012',
				  //   // 数据库名
				  //   database: 'uat_sys',
			  	// }
		  	},
			// 是否加载到 app 上，默认开启
			app: true,
			// 是否加载到 agent 上，默认关闭
			agent: false,
		},

		logger : {
			consoleLevel: 'DEBUG',
			appLogName: 'unifylog.log',
			// errorLogName: 'error.log',
			dir: 'cspclogs'
		},

		logrotator: {
	      	filesRotateByHour: [
				path.join(appInfo.root, 'cspclogs', appInfo.name, 'unifylog.log'),
	        	// path.join(appInfo.root, 'logs', appInfo.name, 'error.log'),
	      	],
	  	},

		// redis : {
		// 	client: {
		// 		port: 36379,          // Redis port
		// 		//host: '47.105.46.65',   // Redis host
		// 		host: '172.31.62.115',   // Redis host
		// 		password: '2015@Juyou',
		// 		db: 0,
		// 	},
		// },


		auth : {
			match : '/v1',
		},

		notfoundHandler : {
			match : '/v1',
		},

		xmlparse : {
			match : '/wxpaycallback',
		},

		onerror: {
		    all(err, ctx) {

		    	console.log('onerror all');

		    	console.log(err);
		    	console.log(ctx);

		    	ctx.logger.info(err);

				const msg= {
					errcode : 10001,
					errmsg : 'rpc error'
				};
				if(ctx.body == null || ctx.body.errcode > 10000){
					ctx.body = ctx.body == null?JSON.stringify(msg):msg;
				}
				ctx.status = 500;
		    },
		},
		
		cluster: {
			listen: {
				port: 48888,
				//hostname: '127.0.0.1',
				// path: '/var/run/egg.sock',
			}
		},

		security : {
			csrf: false
		},

		jsonp: {
		    csrf: false,
		    whiteList: 'localhost',
		},

		multipart : {
			mode: 'file',
		},

		// alinode : {
		// 	server: 'wss://agentserver.node.aliyun.com:8080',
		// 	appid: '76483',
		// 	secret: '4d7835fc0e62bc95496c563d6f94476be57b75f6',
		// 	logdir: '/data/leo/leologs/',
		// 	// error_log: [
		// 	// '您的应用在业务层面产生的异常日志的路径，数组，可选，可配置多个',
		// 	// '例如：/root/.logs/error.#YYYY#-#MM#-#DD#.log',
		// 	// '不更改 Egg 默认日志输出路径可不配置本项目',
		// 	// ],
		// 	//agentidMode:'IP' '可选，如果设置，则在实例ID中添加部分IP信息，用于多个实例 hostname 相同的场景（以容器为主）'
		// },

	};

	// use for cookie sign key, should change to your own and keep security
	config.keys = appInfo.name + '_1534135289367_1234';

	// add your config here
	config.middleware = ['auth', 'notfoundHandler', 'xmlparse'];

	return config;
};
